... | ... | @@ -307,7 +307,7 @@ Analogamente, consulta-se o código para efetuar translações, mudanças na esc |
|
|
|
|
|
Desta maneira, por exemplo, para auxiliar na tarefa mencionada, criou-se a função `subtract(that,fromThat)`, em que dois objetos são dados como entrada - o objeto *that* e o objeto *fromThat*. A função então faz a operação booleana da diferença entre o segundo e o primeiro objeto, isto é, "subtrai" o objeto *that* do objeto *fromThat*, por fim excluindo este último.
|
|
|
|
|
|
Foi criado um arquivo modelo no Blender, de nome [alice-geometry.blend](uploads/e4b1b10fa1a719b0af5b57762d740a78/alice-geometry.blend), onde era testado o código para gerar cada peça do detector e, assim, armazenar a geometria junto com o respectivo código salvos. A partir do mesmo, era copiado o código e colado no arquivo `scene_functions.py`, em que constam as funções para gerar os objetos da cena, conforme explicado na seção anterior [Animação no Blender](https://git.cta.if.ufrgs.br/ALICE-open-data/alice-open-data/wikis/home#anima%C3%A7%C3%A3o-no-blender). As definições das funções de simplificação do código - como a função `subtract()` -, todavia, foram adicionadas a um novo arquivo chamado [blender_functions.py](https://git.cta.if.ufrgs.br/ALICE-open-data/alice-blender-animation/blob/master/animate/blender_functions.py), [acrescentado também ao repositório principal do projeto](https://git.cta.if.ufrgs.br/ALICE-open-data/alice-blender-animation/commit/9a4e8e0b07a7be0eb15a01abdb14700cab1532cf), com a finalidade de maior organização dos códigos.
|
|
|
Foi criado um arquivo modelo no Blender, de nome [alice-geometry.blend](uploads/e4b1b10fa1a719b0af5b57762d740a78/alice-geometry.blend), onde era testado o código para gerar cada peça do detector e, assim, armazenar a geometria junto com o respectivo código salvos. A partir do mesmo, era copiado o código e colado no arquivo `scene_functions.py`, em que constam as funções para gerar os objetos da cena, conforme explicado na seção anterior [Animação no Blender](#docum3). As definições das funções de simplificação do código - como a função `subtract()` -, todavia, foram adicionadas a um novo arquivo chamado [blender_functions.py](https://git.cta.if.ufrgs.br/ALICE-open-data/alice-blender-animation/blob/master/animate/blender_functions.py), [acrescentado também ao repositório principal do projeto](https://git.cta.if.ufrgs.br/ALICE-open-data/alice-blender-animation/commit/9a4e8e0b07a7be0eb15a01abdb14700cab1532cf), com a finalidade de maior organização dos códigos.
|
|
|
|
|
|
![Screenshot_from_2020-04-16_21-36-14](uploads/44b4515642b1384ed8bd9570aff98f62/Screenshot_from_2020-04-16_21-36-14.png)
|
|
|
|
... | ... | @@ -367,9 +367,38 @@ O TRD foi particularmente difícil de elaborar, pois se fez necessário partir a |
|
|
* [ALICE Technical Design Report of the Transition Radiation Detector](https://cds.cern.ch/record/519145/files/cer-2275567.pdf) - páginas 28 até 30
|
|
|
|
|
|
|
|
|
### Opções de uso da animação <a name="usingoptions"></a>
|
|
|
|
|
|
Em breve seção.
|
|
|
### Automatização das etapas da animação <a name="usingoptions"></a>
|
|
|
|
|
|
O repositório do projeto de animação [ALICE Blender animation](https://git.cta.if.ufrgs.br/ALICE-open-data/alice-blender-animation) está organizado da seguinte maneira: no diretório `animate`, estão armazenados os códigos em *python* para confecção da animação no Blender (ver seção [Animação no Blender](#docum3)), enquanto no diretório `aliRoot` estão os *macros* em C++ para análise de dados (ver seção [Abordagem do software Aliroot](#docum1)). No diretório principal, encontra-se o arquivo *workflow_sketch.sh*, um script em *shell* que automatiza as etapas necessárias para gerar os clipes animados, desde a coleta de dados através dos arquivos ESD até a renderização dos clipes finais. Na interação do usuário com o projeto, portanto, basta especificar um arquivo ESD para análise e executar o script conforme as instruções, não sendo necessário realizar manualmente as etapas de análise de dados, seleção a dedo dos eventos desejados e execução dos códigos em *python* para animá-los usando o Blender. O usuário também tem à sua disposição algumas opções de uso, como a personalização dos eventos a animar de acordo com certos critérios, como listado abaixo.
|
|
|
|
|
|
Quanto à referência a um arquivo ESD, existem duas opções: o usuário pode utilizar um arquivo já baixado ou especificar um link para download automático. No primeiro caso, basta que o arquivo ESD possua nome "AliESD.root" (sem aspas) e esteja no mesmo diretório que o próprio *workflow_sketch.sh*, isto é, o diretório principal do projeto. No caso do download automático, basta incluir a URL do arquivo ESD, diretamente do [CERN Open Data Portal](http://opendata.cern.ch/search?page=1&size=20&experiment=ALICE), como o argumento da opção "--url", conforme explicado a seguir.
|
|
|
|
|
|
As opções de uso do *script* devem ser dadas junto com sua execução, com espaços para separar a opção e sua devida entrada, como por exemplo `./workflow_sketch.sh --fps 24 --duration 8`. Este exemplo configura o número de frames por segundo como 24 e limita a duração do clipe a 8 segundos. Algumas opções possuem mais de uma forma de ser referenciadas. Por exemplo, para especificar as câmeras com que se deseja animar como *OverviewCamera* e *BarrelCamera*, pode-se utilizar tanto `-c Overview,Barrel` como `--cameras Overview,Barrel`. Naturalmente, existem valores padrão para cada opção, caso suas entradas não sejam informadas, assim como existem opções cujo uso não requer uma entrada. A seguir, a descrição detalhada do funcionamento de cada uma das opções de uso, suas possíveis entradas e seus valores padrão.
|
|
|
|
|
|
| Opção | Entrada | Funcionamento | Valor padrão |
|
|
|
| ------ | ------ | ------ | ------ |
|
|
|
| -h ou --help | (sem entrada) | Exibe uma lista com as possíveis opções de uso e um exemplo de execução | - |
|
|
|
| -d ou --download | (sem entrada) | Especifica que deve ser feito o download do arquivo ESD | False (o download automático só é efetuado se essa opção é chamada) |
|
|
|
| -u ou --url | URL do arquivo ESD | Informa o ESD cujos eventos serão analisados, caso o download do mesmo seja necessário | (sem valor padrão) |
|
|
|
| -m ou --maxparticles | Número inteiro | Configura o número máximo de partículas presentes nos eventos que se deseja animar | 1000 |
|
|
|
| --minparticles | Número inteiro | Configura o número mínimo de partículas presentes nos eventos que se deseja animar | 0 |
|
|
|
| -n ou --numberofevents | Número inteiro | Configura o número de eventos do ESD que se deseja animar | 10 |
|
|
|
| --minavgpz | Número racional | Configura o valor mínimo do módulo da média dos valores de *momentum* na direção z que devem ter os eventos que se deseja animar. Útil para selecionar eventos com "*boosts*" de partículas para um mesmo lado. | 0 |
|
|
|
| --minavgpt | Número racional na forma decimal, com ponto (ex: 1.2) | Configura o valor mínimo da média dos valores de *momentum* transversal (Pt) que devem ter os eventos que se deseja animar. Útil para selecionar eventos com "*boosts*" de partículas no plano xy. | 0 |
|
|
|
| -t ou --duration | Número inteiro | Configura a duração da animação, em segundos | 10 |
|
|
|
| -r ou --resolution | Número inteiro de 1 a 100 | Configura a porcentagem de resolução da animação | 100 |
|
|
|
| --fps | Número inteiro | Configura o número de frames por segundo (fps) da animação | 24 |
|
|
|
| --transparency | Número racional não-negativo, na forma decimal, com ponto (ex: 1.2) | Configura a transparência dos detectores, onde 0 significa transparência máxima e 1 é a transparência padrão | 1 |
|
|
|
| -c ou --cameras | Lista separada por vírgula (e sem espaços) das câmeras desejadas. Opções: Barrel, Forward, Overview, Side | Configura as câmeras por meio das quais se deseja animar os eventos. Exemplo: `-c Barrel,Forward,Side` | Overview |
|
|
|
| --mosaic | (sem entrada) | Habilita o modo "mosaico", que automaticamente anima os eventos em todas as quatro câmeras e monta um clipe 2x2 contendo todas as perspectivas, totalizando 5 vídeos gerados por evento | False (a opção só é habilitada se chamada) |
|
|
|
| --picpct | Número inteiro de 1 a 100 | Informa a porcentagem da animação correspondente ao ponto que deve ser tirada a foto em HD, salva junto com o clipe | 80 |
|
|
|
| -a ou --sample | (sem entrada) | Cria uma "animação amostra" gerada a partir do evento 2 do ESD de URL http://opendata.cern.ch/record/1102/files/assets/alice/2010/LHC10h/000139038/ESD/0001/AliESDs.root | - |
|
|
|
| --its | (sem entrada) | Desabilita a geometria do ITS da animação | False (como padrão, o ITS é incluído) |
|
|
|
| --detailedtpc | (sem entrada) | Inclui uma versão mais detalhada do TPC na animação, com créditos para o pesquisador [Stefan Rossegger](#stefan) | False (como padrão, é incluída a versão com menos detalhe) |
|
|
|
| --tpc | (sem entrada) | Desabilita a geometria do TPC da animação | False (como padrão, o TPC é incluído) |
|
|
|
| --trd | (sem entrada) | Desabilita a geometria do TRD da animação | False (como padrão, o TRD é incluído) |
|
|
|
| --emcal | (sem entrada) | Desabilita a geometria do EMCal da animação | False (como padrão, o EMCal é incluído) |
|
|
|
| --blendersave | (sem entrada) | Salva o arquivo Blender junto com o clipe animado | False (como padrão, o arquivo Blender não é salvo) |
|
|
|
|
|
|
### Teste de rendimento da animação <a name="efficiencytest"></a>
|
|
|
|
... | ... | |